home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / pdcurs21 / demos / xmas.c < prev    next >
C/C++ Source or Header  |  1993-06-18  |  35KB  |  1,195 lines

  1. /******************************************************************************/
  2. /* asciixmas                                                                  */
  3. /* December 1989             Larry Bartz           Indianapolis, IN           */
  4. /*                                                                            */
  5. /*                                                                            */
  6. /* I'm dreaming of an ascii character-based monochrome Christmas,             */
  7. /* Just like the one's I used to know!                                        */
  8. /* Via a full duplex communications channel,                                  */
  9. /* At 9600 bits per second,                                                   */
  10. /* Even though it's kinda slow.                                               */
  11. /*                                                                            */
  12. /* I'm dreaming of an ascii character-based monochrome Christmas,             */
  13. /* With ev'ry C program I write!                                              */
  14. /* May your screen be merry and bright!                                       */
  15. /* And may all your Christmases be amber or green,                            */
  16. /* (for reduced eyestrain and improved visibility)!                           */
  17. /*                                                                            */
  18. /*                                                                            */
  19. /*                                                                            */
  20. /*                                                                            */
  21. /*                                                                            */
  22. /* IMPLEMENTATION                                                             */
  23. /*                                                                            */
  24. /* Feel free to modify the defined string FROMWHO to reflect you, your        */
  25. /* organization, your site, whatever.                                         */
  26. /*                                                                            */
  27. /* This really looks a lot better if you can turn off your cursor before      */
  28. /* execution. I wanted to do that here but very few termcap entries or        */
  29. /* terminfo definitions have the appropriate string defined. If you know      */
  30. /* the string(s) for the terminal(s) you use or which your site supports,     */
  31. /* you could call asciixmas from within a shell in which you issue the        */
  32. /* string to the terminal. The cursor is distracting but it doesn't really    */
  33. /* ruin the show.                                                             */
  34. /*                                                                            */
  35. /* At our site, we invoke this for our users just after login and the         */
  36. /* determination of terminal type.                                            */
  37. /*                                                                            */
  38. /*                                                                            */
  39. /* PORTABILITY                                                                */
  40. /*                                                                            */
  41. /* I wrote this using only the very simplest curses functions so that it      */
  42. /* might be the most portable. I was personally able to test on five          */
  43. /* different cpu/UNIX combinations.                                           */
  44. /*                                                                            */
  45. /*                                                                            */
  46. /* COMPILE                                                                    */
  47. /*                                                                            */
  48. /* usually this:                                                              */
  49. /*                                                                            */
  50. /* cc -O asciixmas.c -lcurses -o asciixmas -s                                 */
  51. /*                                                                            */
  52. /*                                                                            */
  53. /* Zilog S8000 models 11, 21, 31, etc with ZEUS variant of SYSTEM III         */
  54. /* maybe other SYSTEM III also:                                               */
  55. /*                                                                            */
  56. /* cc asciixmas.c -lcurses -ltermlib -o asciixmas -s                          */
  57. /*                                                                            */
  58. /* as above with optional "peephole optimizer" installed:                     */
  59. /*                                                                            */
  60. /* cc -O asciixmas.c -lcurses -ltermlib -o asciixmas -s                       */
  61. /*                                                                            */
  62. /*                                                                            */
  63. /* Zilog S8000 models 32, 130 with WE32100 chip and SYS V, REL2               */
  64. /* maybe 3B2 also?                                                            */
  65. /*                                                                            */
  66. /* cc -f -O -K sd asciixmas.c -lcurses -o asciixmas -s                        */
  67. /*                                                                            */
  68. /*                                                                            */
  69. /* Pyramid, Sequent, any other "dual universe" types compile and execute      */
  70. /* under either universe. The compile line for the ucb universe (as you       */
  71. /* might expect) is the same as for SYS III UNIX:                             */
  72. /*                                                                            */
  73. /* cc -O asciixmas.c -lcurses -ltermlib -o asciixmas -s                       */
  74. /*                                                                            */
  75. /* The above compile will also hold true for other BSD systems. (I hope)      */
  76. /*                                                                            */
  77. /*                                                                            */
  78. /*                                                                            */
  79. /*                                                                            */
  80. /* For the Scrooges out there among you who don't want this thing to loop     */
  81. /* forever (or until the user hits a key), insert this into your compile        */
  82. /* line just after "cc" :                                                     */
  83. /*                                                                            */
  84. /* -DNOLOOP                                                                   */
  85. /*                                                                            */
  86. /* like so:                                                                   */
  87. /*                                                                            */
  88. /* cc -DNOLOOP -O asciixmas.c -lcurses -o asciixmas -s                        */
  89. /*                                                                            */
  90. /*                                                                            */
  91. /*                                                                            */
  92. /******************************************************************************/
  93.  
  94. #ifdef PDCDEBUG
  95. char *rcsid_xmas = "$Header: C:\CURSES\demos\RCS\xmas.c 2.1 1993/06/18 20:24:06 MH Rel MH $";
  96. #endif
  97.  
  98. #include <curses.h>
  99. #include <signal.h>
  100.  
  101. #define FROMWHO "Mark Hessling - (M.Hessling@gu.edu.au)"
  102.  
  103. int y_pos, x_pos;
  104.  
  105. WINDOW
  106.        *treescrn, *treescrn2,*treescrn3, *treescrn4,*treescrn5, *treescrn6,
  107.        *treescrn7, *treescrn8,
  108.        *dotdeer0,
  109.        *stardeer0,
  110.        *lildeer0, *lildeer1, *lildeer2, *lildeer3,
  111.        *middeer0, *middeer1, *middeer2, *middeer3,
  112.        *bigdeer0, *bigdeer1, *bigdeer2, *bigdeer3, *bigdeer4,
  113.        *lookdeer0, *lookdeer1, *lookdeer2, *lookdeer3, *lookdeer4,
  114.        *w_holiday,
  115.        *w_del_msg;
  116.  
  117. void main()
  118. {
  119.  void done();
  120.  int loopy;
  121.  
  122.   initscr();
  123.   noecho();
  124.   nonl();
  125.   refresh();
  126.   signal(SIGINT,done);
  127.   signal(SIGTERM,done);
  128. #if !defined    DOS && !defined OS2
  129.   signal(SIGHUP,done);
  130.   signal(SIGQUIT,done);
  131. #endif
  132.  
  133.  
  134.  
  135.   treescrn = newwin(16,27,3,53);
  136.   treescrn2 = newwin(16,27,3,53);
  137.   treescrn3 = newwin(16,27,3,53);
  138.   treescrn4 = newwin(16,27,3,53);
  139.   treescrn5 = newwin(16,27,3,53);
  140.   treescrn6 = newwin(16,27,3,53);
  141.   treescrn7 = newwin(16,27,3,53);
  142.   treescrn8 = newwin(16,27,3,53);
  143.  
  144.   dotdeer0 = newwin(3,71,0,8);
  145.  
  146.   stardeer0 = newwin(4,56,0,8);
  147.  
  148.   lildeer0 = newwin(7,53,0,8);
  149.   lildeer1 = newwin(2,4,0,0);
  150.   lildeer2 = newwin(2,4,0,0);
  151.   lildeer3 = newwin(2,4,0,0);
  152.  
  153.   middeer0 = newwin(15,42,0,8);
  154.   middeer1 = newwin(3,7,0,0);
  155.   middeer2 = newwin(3,7,0,0);
  156.   middeer3 = newwin(3,7,0,0);
  157.  
  158.   bigdeer0 = newwin(10,23,0,0);
  159.   bigdeer1 = newwin(10,23,0,0);
  160.   bigdeer2 = newwin(10,23,0,0);
  161.   bigdeer3 = newwin(10,23,0,0);
  162.   bigdeer4 = newwin(10,23,0,0);
  163.  
  164.   lookdeer0 = newwin(10,25,0,0);
  165.   lookdeer1 = newwin(10,25,0,0);
  166.   lookdeer2 = newwin(10,25,0,0);
  167.   lookdeer3 = newwin(10,25,0,0);
  168.   lookdeer4 = newwin(10,25,0,0);
  169.  
  170.   w_holiday = newwin(1,26,3,27);
  171.  
  172.   w_del_msg = newwin(1,12,23,60);
  173.  
  174.   mvwaddstr(w_del_msg,0,0,"Hit any key to quit");
  175.  
  176.   mvwaddstr(w_holiday,0,0,"H A P P Y  H O L I D A Y S");
  177.  
  178.   /* set up the windows for our various reindeer */
  179.  
  180.   /* lildeer1 */
  181.   mvwaddch(lildeer1,0,0,(chtype)'V');
  182.   mvwaddch(lildeer1,1,0,(chtype)'@');
  183.   mvwaddch(lildeer1,1,1,(chtype)'<');
  184.   mvwaddch(lildeer1,1,2,(chtype)'>');
  185.   mvwaddch(lildeer1,1,3,(chtype)'~');
  186.  
  187.   /* lildeer2 */
  188.   mvwaddch(lildeer2,0,0,(chtype)'V');
  189.   mvwaddch(lildeer2,1,0,(chtype)'@');
  190.   mvwaddch(lildeer2,1,1,(chtype)'|');
  191.   mvwaddch(lildeer2,1,2,(chtype)'|');
  192.   mvwaddch(lildeer2,1,3,(chtype)'~');
  193.  
  194.   /* lildeer3 */
  195.   mvwaddch(lildeer3,0,0,(chtype)'V');
  196.   mvwaddch(lildeer3,1,0,(chtype)'@');
  197.   mvwaddch(lildeer3,1,1,(chtype)'>');
  198.   mvwaddch(lildeer3,1,2,(chtype)'<');
  199.   mvwaddch(lildeer2,1,3,(chtype)'~');
  200.  
  201.  
  202.   /* middeer1 */
  203.   mvwaddch(middeer1,0,2,(chtype)'y');
  204.   mvwaddch(middeer1,0,3,(chtype)'y');
  205.   mvwaddch(middeer1,1,2,(chtype)'0');
  206.   mvwaddch(middeer1,1,3,(chtype)'(');
  207.   mvwaddch(middeer1,1,4,(chtype)'=');
  208.   mvwaddch(middeer1,1,5,(chtype)')');
  209.   mvwaddch(middeer1,1,6,(chtype)'~');
  210.   mvwaddch(middeer1,2,3,(chtype)'\\');
  211.   mvwaddch(middeer1,2,4,(chtype)'/');
  212.  
  213.   /* middeer2 */
  214.   mvwaddch(middeer2,0,2,(chtype)'y');
  215.   mvwaddch(middeer2,0,3,(chtype)'y');
  216.   mvwaddch(middeer2,1,2,(chtype)'0');
  217.   mvwaddch(middeer2,1,3,(chtype)'(');
  218.   mvwaddch(middeer2,1,4,(chtype)'=');
  219.   mvwaddch(middeer2,1,5,(chtype)')');
  220.   mvwaddch(middeer2,1,6,(chtype)'~');
  221.   mvwaddch(middeer2,2,3,(chtype)'|');
  222.   mvwaddch(middeer2,2,5,(chtype)'|');
  223.  
  224.   /* middeer3 */
  225.   mvwaddch(middeer3,0,2,(chtype)'y');
  226.   mvwaddch(middeer3,0,3,(chtype)'y');
  227.   mvwaddch(middeer3,1,2,(chtype)'0');
  228.   mvwaddch(middeer3,1,3,(chtype)'(');
  229.   mvwaddch(middeer3,1,4,(chtype)'=');
  230.   mvwaddch(middeer3,1,5,(chtype)')');
  231.   mvwaddch(middeer3,1,6,(chtype)'~');
  232.   mvwaddch(middeer3,2,2,(chtype)'/');
  233.   mvwaddch(middeer3,2,6,(chtype)'\\');
  234.  
  235.  
  236.   /* bigdeer1 */
  237.   mvwaddch(bigdeer1,0,17,(chtype)'\\');
  238.   mvwaddch(bigdeer1,0,18,(chtype)'/');
  239.   mvwaddch(bigdeer1,0,20,(chtype)'\\');
  240.   mvwaddch(bigdeer1,0,21,(chtype)'/');
  241.   mvwaddch(bigdeer1,1,18,(chtype)'\\');
  242.   mvwaddch(bigdeer1,1,20,(chtype)'/');
  243.   mvwaddch(bigdeer1,2,19,(chtype)'|');
  244.   mvwaddch(bigdeer1,2,20,(chtype)'_');
  245.   mvwaddch(bigdeer1,3,18,(chtype)'/');
  246.   mvwaddch(bigdeer1,3,19,(chtype)'^');
  247.   mvwaddch(bigdeer1,3,20,(chtype)'0');
  248.   mvwaddch(bigdeer1,3,21,(chtype)'\\');
  249.   mvwaddch(bigdeer1,4,17,(chtype)'/');
  250.   mvwaddch(bigdeer1,4,18,(chtype)'/');
  251.   mvwaddch(bigdeer1,4,19,(chtype)'\\');
  252.   mvwaddch(bigdeer1,4,22,(chtype)'\\');
  253.   mvwaddstr(bigdeer1,5,7,"^~~~~~~~~//  ~~U");
  254.   mvwaddstr(bigdeer1,6,7,"( \\_____( /");
  255.   mvwaddstr(bigdeer1,7,8,"( )    /");
  256.   mvwaddstr(bigdeer1,8,9,"\\\\   /");
  257.   mvwaddstr(bigdeer1,9,11,"\\>/>");
  258.  
  259.   /* bigdeer2 */
  260.   mvwaddch(bigdeer2,0,17,(chtype)'\\');
  261.   mvwaddch(bigdeer2,0,18,(chtype)'/');
  262.   mvwaddch(bigdeer2,0,20,(chtype)'\\');
  263.   mvwaddch(bigdeer2,0,21,(chtype)'/');
  264.   mvwaddch(bigdeer2,1,18,(chtype)'\\');
  265.   mvwaddch(bigdeer2,1,20,(chtype)'/');
  266.   mvwaddch(bigdeer2,2,19,(chtype)'|');
  267.   mvwaddch(bigdeer2,2,20,(chtype)'_');
  268.   mvwaddch(bigdeer2,3,18,(chtype)'/');
  269.   mvwaddch(bigdeer2,3,19,(chtype)'^');
  270.   mvwaddch(bigdeer2,3,20,(chtype)'0');
  271.   mvwaddch(bigdeer2,3,21,(chtype)'\\');
  272.   mvwaddch(bigdeer2,4,17,(chtype)'/');
  273.   mvwaddch(bigdeer2,4,18,(chtype)'/');
  274.   mvwaddch(bigdeer2,4,19,(chtype)'\\');
  275.   mvwaddch(bigdeer2,4,22,(chtype)'\\');
  276.   mvwaddstr(bigdeer2,5,7,"^~~~~~~~~//  ~~U");
  277.   mvwaddstr(bigdeer2,6,7,"(( )____( /");
  278.   mvwaddstr(bigdeer2,7,7,"( /      |");
  279.   mvwaddstr(bigdeer2,8,8,"\\/      |");
  280.   mvwaddstr(bigdeer2,9,9,"|>     |>");
  281.  
  282.   /* bigdeer3 */
  283.   mvwaddch(bigdeer3,0,17,(chtype)'\\');
  284.   mvwaddch(bigdeer3,0,18,(chtype)'/');
  285.   mvwaddch(bigdeer3,0,20,(chtype)'\\');
  286.   mvwaddch(bigdeer3,0,21,(chtype)'/');
  287.   mvwaddch(bigdeer3,1,18,(chtype)'\\');
  288.   mvwaddch(bigdeer3,1,20,(chtype)'/');
  289.   mvwaddch(bigdeer3,2,19,(chtype)'|');
  290.   mvwaddch(bigdeer3,2,20,(chtype)'_');
  291.   mvwaddch(bigdeer3,3,18,(chtype)'/');
  292.   mvwaddch(bigdeer3,3,19,(chtype)'^');
  293.   mvwaddch(bigdeer3,3,20,(chtype)'0');
  294.   mvwaddch(bigdeer3,3,21,(chtype)'\\');
  295.   mvwaddch(bigdeer3,4,17,(chtype)'/');
  296.   mvwaddch(bigdeer3,4,18,(chtype)'/');
  297.   mvwaddch(bigdeer3,4,19,(chtype)'\\');
  298.   mvwaddch(bigdeer3,4,22,(chtype)'\\');
  299.   mvwaddstr(bigdeer3,5,7,"^~~~~~~~~//  ~~U");
  300.   mvwaddstr(bigdeer3,6,6,"( ()_____( /");
  301.   mvwaddstr(bigdeer3,7,6,"/ /       /");
  302.   mvwaddstr(bigdeer3,8,5,"|/          \\");
  303.   mvwaddstr(bigdeer3,9,5,"/>           \\>");
  304.  
  305.   /* bigdeer4 */
  306.   mvwaddch(bigdeer4,0,17,(chtype)'\\');
  307.   mvwaddch(bigdeer4,0,18,(chtype)'/');
  308.   mvwaddch(bigdeer4,0,20,(chtype)'\\');
  309.   mvwaddch(bigdeer4,0,21,(chtype)'/');
  310.   mvwaddch(bigdeer4,1,18,(chtype)'\\');
  311.   mvwaddch(bigdeer4,1,20,(chtype)'/');
  312.   mvwaddch(bigdeer4,2,19,(chtype)'|');
  313.   mvwaddch(bigdeer4,2,20,(chtype)'_');
  314.   mvwaddch(bigdeer4,3,18,(chtype)'/');
  315.   mvwaddch(bigdeer4,3,19,(chtype)'^');
  316.   mvwaddch(bigdeer4,3,20,(chtype)'0');
  317.   mvwaddch(bigdeer4,3,21,(chtype)'\\');
  318.   mvwaddch(bigdeer4,4,17,(chtype)'/');
  319.   mvwaddch(bigdeer4,4,18,(chtype)'/');
  320.   mvwaddch(bigdeer4,4,19,(chtype)'\\');
  321.   mvwaddch(bigdeer4,4,22,(chtype)'\\');
  322.   mvwaddstr(bigdeer4,5,7,"^~~~~~~~~//  ~~U");
  323.   mvwaddstr(bigdeer4,6,6,"( )______( /");
  324.   mvwaddstr(bigdeer4,7,5,"(/          \\");
  325.   mvwaddstr(bigdeer4,8,0,"v___=             ----^");
  326.  
  327.  
  328.   /* lookdeer1 */
  329.   mvwaddstr(lookdeer1,0,16,"\\/     \\/");
  330.   mvwaddstr(lookdeer1,1,17,"\\Y/ \\Y/");
  331.   mvwaddstr(lookdeer1,2,19,"\\=/");
  332.   mvwaddstr(lookdeer1,3,17,"^\\o o/^");
  333.   mvwaddstr(lookdeer1,4,17,"//( )");
  334.   mvwaddstr(lookdeer1,5,7,"^~~~~~~~~// \\O/");
  335.   mvwaddstr(lookdeer1,6,7,"( \\_____( /");
  336.   mvwaddstr(lookdeer1,7,8,"( )    /");
  337.   mvwaddstr(lookdeer1,8,9,"\\\\   /");
  338.   mvwaddstr(lookdeer1,9,11,"\\>/>");
  339.  
  340.   /* lookdeer2 */
  341.   mvwaddstr(lookdeer2,0,16,"\\/     \\/");
  342.   mvwaddstr(lookdeer2,1,17,"\\Y/ \\Y/");
  343.   mvwaddstr(lookdeer2,2,19,"\\=/");
  344.   mvwaddstr(lookdeer2,3,17,"^\\o o/^");
  345.   mvwaddstr(lookdeer2,4,17,"//( )");
  346.   mvwaddstr(lookdeer2,5,7,"^~~~~~~~~// \\O/");
  347.   mvwaddstr(lookdeer2,6,7,"(( )____( /");
  348.   mvwaddstr(lookdeer2,7,7,"( /      |");
  349.   mvwaddstr(lookdeer2,8,8,"\\/      |");
  350.   mvwaddstr(lookdeer2,9,9,"|>     |>");
  351.  
  352.   /* lookdeer3 */
  353.   mvwaddstr(lookdeer3,0,16,"\\/     \\/");
  354.   mvwaddstr(lookdeer3,1,17,"\\Y/ \\Y/");
  355.   mvwaddstr(lookdeer3,2,19,"\\=/");
  356.   mvwaddstr(lookdeer3,3,17,"^\\o o/^");
  357.   mvwaddstr(lookdeer3,4,17,"//( )");
  358.   mvwaddstr(lookdeer3,5,7,"^~~~~~~~~// \\O/");
  359.   mvwaddstr(lookdeer3,6,6,"( ()_____( /");
  360.   mvwaddstr(lookdeer3,7,6,"/ /       /");
  361.   mvwaddstr(lookdeer3,8,5,"|/          \\");
  362.   mvwaddstr(lookdeer3,9,5,"/>           \\>");
  363.  
  364.   /* lookdeer4 */
  365.   mvwaddstr(lookdeer4,0,16,"\\/     \\/");
  366.   mvwaddstr(lookdeer4,1,17,"\\Y/ \\Y/");
  367.   mvwaddstr(lookdeer4,2,19,"\\=/");
  368.   mvwaddstr(lookdeer4,3,17,"^\\o o/^");
  369.   mvwaddstr(lookdeer4,4,17,"//( )");
  370.   mvwaddstr(lookdeer4,5,7,"^~~~~~~~~// \\O/");
  371.   mvwaddstr(lookdeer4,6,6,"( )______( /");
  372.   mvwaddstr(lookdeer4,7,5,"(/          \\");
  373.   mvwaddstr(lookdeer4,8,0,"v___=             ----^");
  374.  
  375.  
  376.  
  377.   /***********************************************/
  378.   raw();
  379.   nodelay(stdscr,TRUE);
  380.   do
  381.   {
  382.     clear();
  383.     werase(treescrn);
  384.     touchwin(treescrn);
  385.     werase(treescrn2);
  386.     touchwin(treescrn2);
  387.     werase(treescrn8);
  388.     touchwin(treescrn8);
  389.     refresh();
  390.     delay_output(1000);
  391.     boxit();
  392.     del_msg();
  393.     delay_output(1000);
  394.     seas();
  395.     del_msg();
  396.     delay_output(1000);
  397.     greet();
  398.     del_msg();
  399.     delay_output(1000);
  400.     fromwho();
  401.     del_msg();
  402.     delay_output(1000);
  403.     tree();
  404.     delay_output(1000);
  405.     balls();
  406.     delay_output(1000);
  407.     star();
  408.     delay_output(1000);
  409.     strng1();
  410.     strng2();
  411.     strng3();
  412.     strng4();
  413.     strng5();
  414.  
  415.  
  416.   /* set up the windows for our blinking trees */
  417.   /* **************************************** */
  418.   /* treescrn3 */
  419.  
  420.                overlay(treescrn, treescrn3);
  421.  
  422.              /*balls*/
  423.                mvwaddch(treescrn3, 4, 18, ' ');
  424.                mvwaddch(treescrn3, 7, 6, ' ');
  425.                mvwaddch(treescrn3, 8, 19, ' ');
  426.                mvwaddch(treescrn3, 11, 22, ' ');
  427.  
  428.              /*star*/
  429.                mvwaddch(treescrn3, 0, 12, '*');
  430.  
  431.              /*strng1*/
  432.                mvwaddch(treescrn3, 3, 11, ' ');
  433.  
  434.              /*strng2*/
  435.                mvwaddch(treescrn3, 5, 13, ' ');
  436.                mvwaddch(treescrn3, 6, 10, ' ');
  437.  
  438.              /*strng3*/
  439.                mvwaddch(treescrn3, 7, 16, ' ');
  440.                mvwaddch(treescrn3, 7, 14, ' ');
  441.  
  442.              /*strng4*/
  443.                mvwaddch(treescrn3, 10, 13, ' ');
  444.                mvwaddch(treescrn3, 10, 10, ' ');
  445.                mvwaddch(treescrn3, 11, 8, ' ');
  446.  
  447.              /*strng5*/
  448.                mvwaddch(treescrn3, 11, 18, ' ');
  449.                mvwaddch(treescrn3, 12, 13, ' ');
  450.  
  451.  
  452.   /* treescrn4 */
  453.  
  454.                overlay(treescrn, treescrn4);
  455.  
  456.              /*balls*/
  457.                mvwaddch(treescrn4, 3, 9, ' ');
  458.                mvwaddch(treescrn4, 4, 16, ' ');
  459.                mvwaddch(treescrn4, 7, 6, ' ');
  460.                mvwaddch(treescrn4, 8, 19, ' ');
  461.                mvwaddch(treescrn4, 11, 2, ' ');
  462.                mvwaddch(treescrn4, 12, 23, ' ');
  463.  
  464.              /*star*/
  465.                wstandout(treescrn4);
  466.                mvwaddch(treescrn4, 0, 12, '*');
  467.                wstandend(treescrn4);
  468.  
  469.              /*strng1*/
  470.                mvwaddch(treescrn4, 3, 13, ' ');
  471.  
  472.              /*strng2*/
  473.  
  474.          /*strng3*/
  475.                mvwaddch(treescrn4, 7, 15, ' ');
  476.                mvwaddch(treescrn4, 8, 11, ' ');
  477.  
  478.              /*strng4*/
  479.                mvwaddch(treescrn4, 9, 16, ' ');
  480.                mvwaddch(treescrn4, 10, 12, ' ');
  481.                mvwaddch(treescrn4, 11, 8, ' ');
  482.  
  483.              /*strng5*/
  484.                mvwaddch(treescrn4, 11, 18, ' ');
  485.            mvwaddch(treescrn4, 12, 14, ' ');
  486.  
  487.  
  488.   /* treescrn5 */
  489.  
  490.                overlay(treescrn, treescrn5);
  491.  
  492.              /*balls*/
  493.                mvwaddch(treescrn5, 3, 15, ' ');
  494.                mvwaddch(treescrn5, 10, 20, ' ');
  495.                mvwaddch(treescrn5, 12, 1, ' ');
  496.  
  497.              /*star*/
  498.                mvwaddch(treescrn5, 0, 12, '*');
  499.  
  500.              /*strng1*/
  501.                mvwaddch(treescrn5, 3, 11, ' ');
  502.  
  503.              /*strng2*/
  504.                mvwaddch(treescrn5, 5, 12, ' ');
  505.  
  506.              /*strng3*/
  507.            mvwaddch(treescrn5, 7, 14, ' ');
  508.                mvwaddch(treescrn5, 8, 10, ' ');
  509.  
  510.              /*strng4*/
  511.                mvwaddch(treescrn5, 9, 15, ' ');
  512.                mvwaddch(treescrn5, 10, 11, ' ');
  513.                mvwaddch(treescrn5, 11, 7, ' ');
  514.  
  515.              /*strng5*/
  516.                mvwaddch(treescrn5, 11, 17, ' ');
  517.                mvwaddch(treescrn5, 12, 13, ' ');
  518.  
  519.   /* treescrn6 */
  520.  
  521.                overlay(treescrn, treescrn6);
  522.  
  523.              /*balls*/
  524.                mvwaddch(treescrn6, 6, 7, ' ');
  525.                mvwaddch(treescrn6, 7, 18, ' ');
  526.                mvwaddch(treescrn6, 10, 4, ' ');
  527.                mvwaddch(treescrn6, 11, 23, ' ');
  528.  
  529.          /*star*/
  530.                wstandout(treescrn6);
  531.                mvwaddch(treescrn6, 0, 12, '*');
  532.                wstandend(treescrn6);
  533.  
  534.              /*strng1*/
  535.  
  536.              /*strng2*/
  537.                mvwaddch(treescrn6, 5, 11, ' ');
  538.  
  539.              /*strng3*/
  540.            mvwaddch(treescrn6, 7, 13, ' ');
  541.                mvwaddch(treescrn6, 8, 9, ' ');
  542.  
  543.              /*strng4*/
  544.                mvwaddch(treescrn6, 9, 14, ' ');
  545.                mvwaddch(treescrn6, 10, 10, ' ');
  546.                mvwaddch(treescrn6, 11, 6, ' ');
  547.  
  548.              /*strng5*/
  549.                mvwaddch(treescrn6, 11, 16, ' ');
  550.                mvwaddch(treescrn6, 12, 12, ' ');
  551.  
  552.   /* treescrn7 */
  553.  
  554.                overlay(treescrn, treescrn7);
  555.  
  556.              /*balls*/
  557.                mvwaddch(treescrn7, 3, 15, ' ');
  558.                mvwaddch(treescrn7, 6, 7, ' ');
  559.                mvwaddch(treescrn7, 7, 18, ' ');
  560.                mvwaddch(treescrn7, 10, 4, ' ');
  561.                mvwaddch(treescrn7, 11, 22, ' ');
  562.  
  563.              /*star*/
  564.                mvwaddch(treescrn7, 0, 12, '*');
  565.  
  566.              /*strng1*/
  567.                mvwaddch(treescrn7, 3, 12, ' ');
  568.  
  569.              /*strng2*/
  570.                mvwaddch(treescrn7, 5, 13, ' ');
  571.                mvwaddch(treescrn7, 6, 9, ' ');
  572.  
  573.          /*strng3*/
  574.                mvwaddch(treescrn7, 7, 15, ' ');
  575.                mvwaddch(treescrn7, 8, 11, ' ');
  576.  
  577.              /*strng4*/
  578.                mvwaddch(treescrn7, 9, 16, ' ');
  579.                mvwaddch(treescrn7, 10, 12, ' ');
  580.                mvwaddch(treescrn7, 11, 8, ' ');
  581.  
  582.              /*strng5*/
  583.                mvwaddch(treescrn7, 11, 18, ' ');
  584.            mvwaddch(treescrn7, 12, 14, ' ');
  585.  
  586.  
  587.     delay_output(1000);
  588.     reindeer();
  589.  
  590.     touchwin(w_holiday);
  591.     wrefresh(w_holiday);
  592.     wrefresh(w_del_msg);
  593.  
  594.     delay_output(1000);
  595.     for(loopy = 0;loopy < 100;loopy++)
  596.     {
  597.       blinkit();
  598.     }
  599.  
  600. #ifdef NOLOOP
  601.     done();
  602. #endif
  603.  
  604.   }
  605.   while(getch() == (ERR));
  606. /*  while(!typeahead(stdin));*/
  607. }
  608.  
  609. boxit()
  610. {
  611.  int x = 0;
  612.  
  613.   while(x < 20)
  614.   {
  615.     mvaddch(x, 7, '|');
  616.     ++x;
  617.   }
  618.  
  619.   x = 8;
  620.  
  621.   while(x < 80)
  622.   {
  623.     mvaddch(19, x, '_');
  624.     ++x;
  625.   }
  626.  
  627.   x = 0;
  628.  
  629.   while(x < 80)
  630.   {
  631.     mvaddch(22, x, '_');
  632.     ++x;
  633.   }
  634.  
  635.   return( 0 );
  636. }
  637.  
  638. seas()
  639. {
  640.   mvaddch(4, 1, 'S');
  641.   mvaddch(6, 1, 'E');
  642.   mvaddch(8, 1, 'A');
  643.   mvaddch(10, 1, 'S');
  644.   mvaddch(12, 1, 'O');
  645.   mvaddch(14, 1, 'N');
  646.   mvaddch(16, 1, '`');
  647.   mvaddch(18, 1, 'S');
  648.  
  649.   return( 0 );
  650. }
  651.  
  652.  
  653. greet()
  654. {
  655.   mvaddch(3, 5, 'G');
  656.   mvaddch(5, 5, 'R');
  657.   mvaddch(7, 5, 'E');
  658.   mvaddch(9, 5, 'E');
  659.   mvaddch(11, 5, 'T');
  660.   mvaddch(13, 5, 'I');
  661.   mvaddch(15, 5, 'N');
  662.   mvaddch(17, 5, 'G');
  663.   mvaddch(19, 5, 'S');
  664.  
  665.   return( 0 );
  666. }
  667.  
  668.  
  669. fromwho()
  670. {
  671.   mvaddstr(21, 13, FROMWHO);
  672.   return( 0 );
  673. }
  674.  
  675.  
  676. del_msg()
  677. {
  678.   mvaddstr(23, 60, "Hit any key to quit");
  679.  
  680.   refresh();
  681.  
  682.   return( 0 );
  683. }
  684.  
  685.  
  686. tree()
  687. {
  688.   mvwaddch(treescrn, 1, 11, (chtype)'/');
  689.   mvwaddch(treescrn, 2, 11, (chtype)'/');
  690.   mvwaddch(treescrn, 3, 10, (chtype)'/');
  691.   mvwaddch(treescrn, 4, 9, (chtype)'/');
  692.   mvwaddch(treescrn, 5, 9, (chtype)'/');
  693.   mvwaddch(treescrn, 6, 8, (chtype)'/');
  694.   mvwaddch(treescrn, 7, 7, (chtype)'/');
  695.   mvwaddch(treescrn, 8, 6, (chtype)'/');
  696.   mvwaddch(treescrn, 9, 6, (chtype)'/');
  697.   mvwaddch(treescrn, 10, 5, (chtype)'/');
  698.   mvwaddch(treescrn, 11, 3, (chtype)'/');
  699.   mvwaddch(treescrn, 12, 2, (chtype)'/');
  700.  
  701.   mvwaddch(treescrn, 1, 13, (chtype)'\\');
  702.   mvwaddch(treescrn, 2, 13, (chtype)'\\');
  703.   mvwaddch(treescrn, 3, 14, (chtype)'\\');
  704.   mvwaddch(treescrn, 4, 15, (chtype)'\\');
  705.   mvwaddch(treescrn, 5, 15, (chtype)'\\');
  706.   mvwaddch(treescrn, 6, 16, (chtype)'\\');
  707.   mvwaddch(treescrn, 7, 17, (chtype)'\\');
  708.   mvwaddch(treescrn, 8, 18, (chtype)'\\');
  709.   mvwaddch(treescrn, 9, 18, (chtype)'\\');
  710.   mvwaddch(treescrn, 10, 19, (chtype)'\\');
  711.   mvwaddch(treescrn, 11, 21, (chtype)'\\');
  712.   mvwaddch(treescrn, 12, 22, (chtype)'\\');
  713.  
  714.   mvwaddch(treescrn, 4, 10, (chtype)'_');
  715.   mvwaddch(treescrn, 4, 14, (chtype)'_');
  716.   mvwaddch(treescrn, 8, 7, (chtype)'_');
  717.   mvwaddch(treescrn, 8, 17, (chtype)'_');
  718.  
  719.   mvwaddstr(treescrn, 13, 0, "//////////// \\\\\\\\\\\\\\\\\\\\\\\\");
  720.  
  721.   mvwaddstr(treescrn, 14, 11, "| |");
  722.   mvwaddstr(treescrn, 15, 11, "|_|");
  723.  
  724.   wrefresh(treescrn);
  725.   wrefresh(w_del_msg);
  726.  
  727.   return( 0 );
  728. }
  729.  
  730.  
  731. balls()
  732. {
  733.  
  734.   overlay(treescrn, treescrn2);
  735.  
  736.   mvwaddch(treescrn2, 3, 9, (chtype)'@');
  737.   mvwaddch(treescrn2, 3, 15, (chtype)'@');
  738.   mvwaddch(treescrn2, 4, 8, (chtype)'@');
  739.   mvwaddch(treescrn2, 4, 16, (chtype)'@');
  740.   mvwaddch(treescrn2, 5, 7, (chtype)'@');
  741.   mvwaddch(treescrn2, 5, 17, (chtype)'@');
  742.   mvwaddch(treescrn2, 7, 6, (chtype)'@');
  743.   mvwaddch(treescrn2, 7, 18, (chtype)'@');
  744.   mvwaddch(treescrn2, 8, 5, (chtype)'@');
  745.   mvwaddch(treescrn2, 8, 19, (chtype)'@');
  746.   mvwaddch(treescrn2, 10, 4, (chtype)'@');
  747.   mvwaddch(treescrn2, 10, 20, (chtype)'@');
  748.   mvwaddch(treescrn2, 11, 2, (chtype)'@');
  749.   mvwaddch(treescrn2, 11, 22, (chtype)'@');
  750.   mvwaddch(treescrn2, 12, 1, (chtype)'@');
  751.   mvwaddch(treescrn2, 12, 23, (chtype)'@');
  752.  
  753.   wrefresh(treescrn2);
  754.   wrefresh(w_del_msg);
  755.   return( 0 );
  756. }
  757.  
  758.  
  759. star()
  760. {
  761.   wstandout(treescrn2);
  762.   mvwaddch(treescrn2, 0, 12, (chtype)'*');
  763.   wstandend(treescrn2);
  764.  
  765.   wrefresh(treescrn2);
  766.   wrefresh(w_del_msg);
  767.   return( 0 );
  768. }
  769.  
  770.  
  771. strng1()
  772. {
  773.   mvwaddch(treescrn2, 3, 13, (chtype)'\'');
  774.   mvwaddch(treescrn2, 3, 12, (chtype)':');
  775.   mvwaddch(treescrn2, 3, 11, (chtype)'.');
  776.  
  777.   wrefresh(treescrn2);
  778.   wrefresh(w_del_msg);
  779.   return( 0 );
  780. }
  781.  
  782.  
  783. strng2()
  784. {
  785.   mvwaddch(treescrn2, 5, 14, (chtype)'\'');
  786.   mvwaddch(treescrn2, 5, 13, (chtype)':');
  787.   mvwaddch(treescrn2, 5, 12, (chtype)'.');
  788.   mvwaddch(treescrn2, 5, 11, (chtype)',');
  789.   mvwaddch(treescrn2, 6, 10, (chtype)'\'');
  790.   mvwaddch(treescrn2, 6, 9, (chtype)':');
  791.  
  792.   wrefresh(treescrn2);
  793.   wrefresh(w_del_msg);
  794.   return( 0 );
  795. }
  796.  
  797.  
  798. strng3()
  799. {
  800.   mvwaddch(treescrn2, 7, 16, (chtype)'\'');
  801.   mvwaddch(treescrn2, 7, 15, (chtype)':');
  802.   mvwaddch(treescrn2, 7, 14, (chtype)'.');
  803.   mvwaddch(treescrn2, 7, 13, (chtype)',');
  804.   mvwaddch(treescrn2, 8, 12, (chtype)'\'');
  805.   mvwaddch(treescrn2, 8, 11, (chtype)':');
  806.   mvwaddch(treescrn2, 8, 10, (chtype)'.');
  807.   mvwaddch(treescrn2, 8, 9, (chtype)',');
  808.  
  809.   wrefresh(treescrn2);
  810.   wrefresh(w_del_msg);
  811.   return( 0 );
  812. }
  813.  
  814.  
  815. strng4()
  816. {
  817.   mvwaddch(treescrn2, 9, 17, (chtype)'\'');
  818.   mvwaddch(treescrn2, 9, 16, (chtype)':');
  819.   mvwaddch(treescrn2, 9, 15, (chtype)'.');
  820.   mvwaddch(treescrn2, 9, 14, (chtype)',');
  821.   mvwaddch(treescrn2, 10, 13, (chtype)'\'');
  822.   mvwaddch(treescrn2, 10, 12, (chtype)':');
  823.   mvwaddch(treescrn2, 10, 11, (chtype)'.');
  824.   mvwaddch(treescrn2, 10, 10, (chtype)',');
  825.   mvwaddch(treescrn2, 11, 9, (chtype)'\'');
  826.   mvwaddch(treescrn2, 11, 8, (chtype)':');
  827.   mvwaddch(treescrn2, 11, 7, (chtype)'.');
  828.   mvwaddch(treescrn2, 11, 6, (chtype)',');
  829.   mvwaddch(treescrn2, 12, 5, (chtype)'\'');
  830.  
  831.   wrefresh(treescrn2);
  832.   wrefresh(w_del_msg);
  833.   return( 0 );
  834. }
  835.  
  836.  
  837. strng5()
  838. {
  839.   mvwaddch(treescrn2, 11, 19, (chtype)'\'');
  840.   mvwaddch(treescrn2, 11, 18, (chtype)':');
  841.   mvwaddch(treescrn2, 11, 17, (chtype)'.');
  842.   mvwaddch(treescrn2, 11, 16, (chtype)',');
  843.   mvwaddch(treescrn2, 12, 15, (chtype)'\'');
  844.   mvwaddch(treescrn2, 12, 14, (chtype)':');
  845.   mvwaddch(treescrn2, 12, 13, (chtype)'.');
  846.   mvwaddch(treescrn2, 12, 12, (chtype)',');
  847.  
  848.   /* save a fully lit tree */
  849.   overlay(treescrn2, treescrn);
  850.  
  851.   wrefresh(treescrn2);
  852.   wrefresh(w_del_msg);
  853.   return( 0 );
  854. }
  855.  
  856.  
  857.  
  858. blinkit()
  859. {
  860.  static int cycle;
  861.  
  862.   if(cycle > 4)
  863.   {
  864.     cycle = 0;
  865.   }
  866.  
  867.  
  868.   touchwin(treescrn8);
  869.  
  870.   switch(cycle)
  871.   {
  872.  
  873.     case 0:
  874.                overlay(treescrn3, treescrn8);
  875.                wrefresh(treescrn8);
  876.                wrefresh(w_del_msg);
  877.  
  878.                break;
  879.     case 1:
  880.                overlay(treescrn4, treescrn8);
  881.                wrefresh(treescrn8);
  882.                wrefresh(w_del_msg);
  883.  
  884.                break;
  885.     case 2:
  886.                overlay(treescrn5, treescrn8);
  887.                wrefresh(treescrn8);
  888.                wrefresh(w_del_msg);
  889.  
  890.                break;
  891.     case 3:
  892.                overlay(treescrn6, treescrn8);
  893.                wrefresh(treescrn8);
  894.                wrefresh(w_del_msg);
  895.  
  896.                break;
  897.     case 4:
  898.                overlay(treescrn7, treescrn8);
  899.                wrefresh(treescrn8);
  900.                wrefresh(w_del_msg);
  901.  
  902.                break;
  903.   }
  904.  
  905.    touchwin(treescrn8);
  906.  
  907.  
  908.  
  909.    /*ALL ON***************************************************/
  910.  
  911.  
  912.    overlay(treescrn, treescrn8);
  913.    wrefresh(treescrn8);
  914.    wrefresh(w_del_msg);
  915.  
  916.  
  917.   ++cycle;
  918.   return( 0 );
  919. }
  920.  
  921.  
  922. reindeer()
  923. {
  924.  int looper;
  925.  
  926.   y_pos = 0;
  927.  
  928.  
  929.   for(x_pos = 70; x_pos > 62; x_pos--)
  930.   {
  931.     if(x_pos < 62)
  932.     {
  933.       y_pos = 1;
  934.     }
  935.     for(looper = 0; looper < 4; looper++)
  936.     {
  937.       mvwaddch(dotdeer0, y_pos, x_pos, (chtype)'.');
  938.       wrefresh(dotdeer0);
  939.       wrefresh(w_del_msg);
  940.       werase(dotdeer0);
  941.       wrefresh(dotdeer0);
  942.       wrefresh(w_del_msg);
  943.     }
  944.   }
  945.  
  946.   y_pos = 2;
  947.  
  948.   for(; x_pos > 50; x_pos--)
  949.   {
  950.  
  951.     for(looper = 0; looper < 4; looper++)
  952.     {
  953.  
  954.       if(x_pos < 56)
  955.       {
  956.         y_pos = 3;
  957.  
  958.         mvwaddch(stardeer0, y_pos, x_pos, (chtype)'*');
  959.         wrefresh(stardeer0);
  960.         wrefresh(w_del_msg);
  961.         werase(stardeer0);
  962.         wrefresh(stardeer0);
  963.         wrefresh(w_del_msg);
  964.       }
  965.       else
  966.       {
  967.         mvwaddch(dotdeer0, y_pos, x_pos, (chtype)'*');
  968.         wrefresh(dotdeer0);
  969.         wrefresh(w_del_msg);
  970.         werase(dotdeer0);
  971.         wrefresh(dotdeer0);
  972.         wrefresh(w_del_msg);
  973.       }
  974.     }
  975.   }
  976.  
  977.   x_pos = 58;
  978.  
  979.   for(y_pos = 2; y_pos < 5; y_pos++)
  980.   {
  981.  
  982.     touchwin(lildeer0);
  983.     wrefresh(lildeer0);
  984.     wrefresh(w_del_msg);
  985.  
  986.     for(looper = 0; looper < 4; looper++)
  987.     {
  988.       mvwin(lildeer3, y_pos, x_pos);
  989.       wrefresh(lildeer3);
  990.       wrefresh(w_del_msg);
  991.  
  992.       mvwin(lildeer2, y_pos, x_pos);
  993.       wrefresh(lildeer2);
  994.       wrefresh(w_del_msg);
  995.  
  996.       mvwin(lildeer1, y_pos, x_pos);
  997.       wrefresh(lildeer1);
  998.       wrefresh(w_del_msg);
  999.  
  1000.       mvwin(lildeer2, y_pos, x_pos);
  1001.       wrefresh(lildeer2);
  1002.       wrefresh(w_del_msg);
  1003.  
  1004.       mvwin(lildeer3, y_pos, x_pos);
  1005.       wrefresh(lildeer3);
  1006.       wrefresh(w_del_msg);
  1007.  
  1008.       touchwin(lildeer0);
  1009.       wrefresh(lildeer0);
  1010.       wrefresh(w_del_msg);
  1011.  
  1012.       x_pos -= 2;
  1013.     }
  1014.   }
  1015.  
  1016.  
  1017.   x_pos = 35;
  1018.  
  1019.   for(y_pos = 5; y_pos < 10; y_pos++)
  1020.   {
  1021.  
  1022.     touchwin(middeer0);
  1023.     wrefresh(middeer0);
  1024.     wrefresh(w_del_msg);
  1025.  
  1026.     for(looper = 0; looper < 2; looper++)
  1027.     {
  1028.       mvwin(middeer3, y_pos, x_pos);
  1029.       wrefresh(middeer3);
  1030.       wrefresh(w_del_msg);
  1031.  
  1032.       mvwin(middeer2, y_pos, x_pos);
  1033.       wrefresh(middeer2);
  1034.       wrefresh(w_del_msg);
  1035.  
  1036.       mvwin(middeer1, y_pos, x_pos);
  1037.       wrefresh(middeer1);
  1038.       wrefresh(w_del_msg);
  1039.  
  1040.       mvwin(middeer2, y_pos, x_pos);
  1041.       wrefresh(middeer2);
  1042.       wrefresh(w_del_msg);
  1043.  
  1044.       mvwin(middeer3, y_pos, x_pos);
  1045.       wrefresh(middeer3);
  1046.       wrefresh(w_del_msg);
  1047.  
  1048.       touchwin(middeer0);
  1049.       wrefresh(middeer0);
  1050.       wrefresh(w_del_msg);
  1051.  
  1052.       x_pos -= 3;
  1053.     }
  1054.   }
  1055.  
  1056.   delay_output(2000);
  1057.  
  1058.   y_pos = 1;
  1059.  
  1060.   for(x_pos = 8; x_pos < 16; x_pos++)
  1061.   {
  1062.  
  1063.       mvwin(bigdeer4, y_pos, x_pos);
  1064.       wrefresh(bigdeer4);
  1065.       wrefresh(w_del_msg);
  1066.  
  1067.       mvwin(bigdeer3, y_pos, x_pos);
  1068.       wrefresh(bigdeer3);
  1069.       wrefresh(w_del_msg);
  1070.  
  1071.       mvwin(bigdeer2, y_pos, x_pos);
  1072.       wrefresh(bigdeer2);
  1073.       wrefresh(w_del_msg);
  1074.  
  1075.       mvwin(bigdeer1, y_pos, x_pos);
  1076.       wrefresh(bigdeer1);
  1077.       wrefresh(w_del_msg);
  1078.  
  1079.       mvwin(bigdeer2, y_pos, x_pos);
  1080.       wrefresh(bigdeer2);
  1081.       wrefresh(w_del_msg);
  1082.  
  1083.       mvwin(bigdeer3, y_pos, x_pos);
  1084.       wrefresh(bigdeer3);
  1085.       wrefresh(w_del_msg);
  1086.  
  1087.       mvwin(bigdeer4, y_pos, x_pos);
  1088.       wrefresh(bigdeer4);
  1089.       wrefresh(w_del_msg);
  1090.  
  1091.       mvwin(bigdeer0, y_pos, x_pos);
  1092.       wrefresh(bigdeer0);
  1093.       wrefresh(w_del_msg);
  1094.   }
  1095.  
  1096.     --x_pos;
  1097.  
  1098.     for(looper = 0; looper < 6; looper++)
  1099.     {
  1100.       mvwin(lookdeer4, y_pos, x_pos);
  1101.       wrefresh(lookdeer4);
  1102.       wrefresh(w_del_msg);
  1103.  
  1104.       mvwin(lookdeer3, y_pos, x_pos);
  1105.       wrefresh(lookdeer3);
  1106.       wrefresh(w_del_msg);
  1107.  
  1108.       mvwin(lookdeer2, y_pos, x_pos);
  1109.       wrefresh(lookdeer2);
  1110.       wrefresh(w_del_msg);
  1111.  
  1112.       mvwin(lookdeer1, y_pos, x_pos);
  1113.       wrefresh(lookdeer1);
  1114.       wrefresh(w_del_msg);
  1115.  
  1116.       mvwin(lookdeer2, y_pos, x_pos);
  1117.       wrefresh(lookdeer2);
  1118.       wrefresh(w_del_msg);
  1119.  
  1120.       mvwin(lookdeer3, y_pos, x_pos);
  1121.       wrefresh(lookdeer3);
  1122.       wrefresh(w_del_msg);
  1123.  
  1124.       mvwin(lookdeer4, y_pos, x_pos);
  1125.       wrefresh(lookdeer4);
  1126.       wrefresh(w_del_msg);
  1127.  
  1128.     }
  1129.  
  1130.     mvwin(lookdeer0, y_pos, x_pos);
  1131.     wrefresh(lookdeer0);
  1132.     wrefresh(w_del_msg);
  1133.  
  1134.   for(; y_pos < 10; y_pos++)
  1135.   {
  1136.  
  1137.     for(looper = 0; looper < 2; looper++)
  1138.     {
  1139.       mvwin(bigdeer4, y_pos, x_pos);
  1140.       wrefresh(bigdeer4);
  1141.       wrefresh(w_del_msg);
  1142.  
  1143.       mvwin(bigdeer3, y_pos, x_pos);
  1144.       wrefresh(bigdeer3);
  1145.       wrefresh(w_del_msg);
  1146.  
  1147.       mvwin(bigdeer2, y_pos, x_pos);
  1148.       wrefresh(bigdeer2);
  1149.       wrefresh(w_del_msg);
  1150.  
  1151.       mvwin(bigdeer1, y_pos, x_pos);
  1152.       wrefresh(bigdeer1);
  1153.       wrefresh(w_del_msg);
  1154.  
  1155.       mvwin(bigdeer2, y_pos, x_pos);
  1156.       wrefresh(bigdeer2);
  1157.       wrefresh(w_del_msg);
  1158.  
  1159.       mvwin(bigdeer3, y_pos, x_pos);
  1160.       wrefresh(bigdeer3);
  1161.       wrefresh(w_del_msg);
  1162.  
  1163.       mvwin(bigdeer4, y_pos, x_pos);
  1164.       wrefresh(bigdeer4);
  1165.       wrefresh(w_del_msg);
  1166.     }
  1167.       mvwin(bigdeer0, y_pos, x_pos);
  1168.       wrefresh(bigdeer0);
  1169.       wrefresh(w_del_msg);
  1170.   }
  1171.  
  1172.   --y_pos;
  1173.  
  1174.   mvwin(lookdeer3, y_pos, x_pos);
  1175.   wrefresh(lookdeer3);
  1176.   wrefresh(w_del_msg);
  1177.   return( 0 );
  1178. }
  1179.  
  1180.  
  1181.  
  1182. void done()
  1183. {
  1184.   signal(SIGINT,done);
  1185.   signal(SIGTERM,done);
  1186. #if !defined    DOS && !defined OS2
  1187.   signal(SIGHUP,done);
  1188.   signal(SIGQUIT,done);
  1189. #endif
  1190.   clear();
  1191.   refresh();
  1192.   endwin();
  1193.   exit(0);
  1194. }
  1195.